﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace exMath.Sequences
{
    public interface INumberSequence
    {
        /// <summary>
        /// The current value in the sequence.
        /// </summary>
        double Current { get; }
        
        /// <summary>
        /// Gets the next value in the sequence.
        /// </summary>
        void Next();

        /// <summary>
        /// Resets the sequence.
        /// </summary>
        void Reset();

        /// <summary>
        /// Calculates the nth position in the sequence.
        /// </summary>
        /// <param name="IntervalCount">The position of the item to calculate.</param>
        /// <returns>The nth item in the sequence.</returns>
        double CalculateItemN(double n);
    }
}
